Skip to content

Conversation

@ampelectrecuted
Copy link
Contributor

@ampelectrecuted ampelectrecuted commented Jan 9, 2026

Per the docs:

Mesh lets you communicate with other projects running in the same browser or in TurboWarp Desktop, using special versions of variables and broadcasts. This allows you to for example, create a game that talks to another project running at the same time.

This was actually a real feature in Scratch 1.4.

TODO: ws integration (though that can be added at a later time).

8to16 added 2 commits January 9, 2026 21:52
…into mesh

* 'mesh' of ssh://github.com/ampelectrecuted/twextensions:
  [Automated] Update translations 2026-01-03 (TurboWarp#2378)
  SharkPool/Camera: Fix critical regression from previous commit (TurboWarp#2376)
  SharkPool/Camera V2 -- Fix hidden sprites not receiving camera updates (TurboWarp#2372)
  [Automated] Update translations 2025-12-31 (TurboWarp#2374)
  text.js -- Add array of regex matches block (TurboWarp#2306)
  Revert "SharkPool/CameraV2 -- Fix hidden sprites not receiving camera updates" (TurboWarp#2371)
  cursor: translate cursor menu (TurboWarp#2076)
  SharkPool/CameraV2: Fix hidden sprites not receiving camera updates (TurboWarp#2359)
  local-storage: fix it generally not working (TurboWarp#2368)
  [Automated] Update translations 2025-12-20 (TurboWarp#2362)
  [Automated] Update translations 2025-12-17 (TurboWarp#2360)
  [Automated] Update translations 2025-12-13 (TurboWarp#2358)
  build(deps): bump @turbowarp/types from `c54f2cc` to `938c3ab` (TurboWarp#2355)
@github-actions github-actions bot added the pr: new extension Pull requests that add a new extension label Jan 9, 2026
@ampelectrecuted
Copy link
Contributor Author

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

@ghost
Copy link

ghost commented Jan 9, 2026

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

I am a graphic designer, I can try and design one for you if you'd like.

@ampelectrecuted
Copy link
Contributor Author

Gonna have a shot at making an image for this, but it's probably gonna look ugly (the one i used for the oscillators PR, which i closed because sp made a better pr, was just a weird heartbeat line, that was it)

I am a graphic designer, I can try and design one for you if you'd like.

ok

@ghost
Copy link

ghost commented Jan 10, 2026

ok

This one took about 10-20 minutes.

Mesh

If you want any edits, just ask; I feel like this fits in with the rest of the Scratch extension banners. Since this extension is advertised to work without the internet, I might change the icon.

@ampelectrecuted
Copy link
Contributor Author

ok

This one took about 10-20 minutes.

Mesh

If you want any edits, just ask; I feel like this fits in with the rest of the Scratch extension banners. Since this extension is advertised to work without the internet, I might change the icon.

i'd like it to look more like this (rough inkscape mockup so it won't look nearly as good as anything on the gallery)
image

@ampelectrecuted
Copy link
Contributor Author

or maybe something like

           project
            |
        Hello world!
        /           \
    project       project

@ampelectrecuted ampelectrecuted marked this pull request as ready for review January 10, 2026 02:13
@ghost
Copy link

ghost commented Jan 10, 2026

i'd like it to look more like this (rough inkscape mockup so it won't look nearly as good as anything on the gallery) image

That's a good design; just one question before I design V2: I'm guessing your extension can communicate with multiple projects at a time? This sounds a bit stupid, but I'm sure you get what I mean.

@ampelectrecuted
Copy link
Contributor Author

@kx1bx1 because of the nature of broadcastchannel, yes, though it's not something worth promoting

@ghost
Copy link

ghost commented Jan 10, 2026

@kx1bx1 because of the nature of broadcastchannel, yes, though it's not something worth promoting

Okay, I won't implement it in the logo then. Working on it now!

@ghost
Copy link

ghost commented Jan 10, 2026

@8to16 I'm somewhat disappointed with my output. I might try to remake it, but this is what I have so far.

Mesh

@ampelectrecuted
Copy link
Contributor Author

gonna see what i can do to try and add:

  • broadcast mesh () and wait
  • returning values, something i have long begged to be in the vanilla broadcast system (in scratch not just tw)

@ampelectrecuted
Copy link
Contributor Author

ampelectrecuted commented Jan 10, 2026

@Brackets-Coder review?

@Brackets-Coder
Copy link
Contributor

Brackets-Coder commented Jan 10, 2026

@Brackets-Coder review?

Busy at the moment, sorry. I'll try tomorrow afternoon

@ampelectrecuted
Copy link
Contributor Author

@Brackets-Coder

Copy link
Contributor

@Brackets-Coder Brackets-Coder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a simple review, I haven't gone through all of the code and tested all of the blocks yet.
A few points to consider:

  • The "remove a variable" button did not seem to work for me. I tried removing all block references to the variable in both projects and tried removing the variable in both projects, it did not disappear
  • You may want to add the ability to rename messages and variables, as you can do in Turbowarp
  • Removing a message did work, but it left behind references to the message
  • Removing messages or variables should either:
    1. Tell the user they must remove all references first (like my-blocks), or
    2. Warn the user that all references will be deleted, and ask for "are you sure" consent (like variables)

Other than that, the overall cross-project communication system in both messages and variables to work great, nice job!
While this is a unique concept, I'm struggling to see use cases as it's limited to only the devices browser, but I'm sure somebody will get more creative than I am!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: new extension Pull requests that add a new extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants